package com.exam.api.modules.dict.domain;

import com.baomidou.mybatisplus.annotation.*;
import com.exam.api.common.baseModule.domain.BaseDomain;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import org.hibernate.validator.constraints.Length;

import java.io.Serial;
import java.io.Serializable;

/**
 *
 */
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
@Builder
@AllArgsConstructor
@NoArgsConstructor
@TableName("sys_dict_item")
@Schema(title = "SysDictItem对象", description = "")
public class SysDictItem extends BaseDomain implements Serializable {

    /**
     * 部门
     */
    @TableField(value = "dept_id", fill = FieldFill.INSERT)
    @Schema(description = "")
    private Long deptId;

    /**
     * 字典
     */
    @TableField(value = "dict_id")
    @Schema(description = "字典")
    private Long dictId;
    /**
     * 字典文本
     */
    @TableField(value = "dict_text")
    @Schema(description = "字典文本")
    @Length(max = 200, message = "编码长度不能超过200")
    private String dictText;
    /**
     * 字典值
     */
    @TableField(value = "dict_value")
    @Schema(description = "字典值")
    @Length(max = 200, message = "编码长度不能超过200")
    private String dictValue;
    /**
     * 字典描述
     */
    @TableField(value = "dict_desc")
    @Schema(description = "字典描述")
    @Length(max = -1, message = "编码长度不能超过-1")
    private String dictDesc;
    /**
     * 排序
     */
    @TableField(value = "sort")
    @Schema(description = "排序")
    private Integer sort;
    /**
     * 0正常 1停用
     */
    @TableField(value = "status")
    @Schema(description = "0正常 1停用")
    private Integer status;

    @Serial
    @TableField(exist = false)
    private static final long serialVersionUID = 1L;
}
